home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / MSD-DU23.ARC / DIRECTORY PRINT (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  3.3 KB  |  122 lines

  1. 10 REM      M.J.KERYAN 11-12-83
  2. 20 REM      MICRO #71 - APRIL 1984
  3. 30 REM      GEMINI AND LABEL MODS
  4. 40 REM         BY R.F.JOHNSTON
  5. 50 REM *********************************
  6. 60 PRINTCHR$(147):POKE53280,0:POKE53281,0:POKE646,3:DIMA$(16):DIMB$(144)
  7. 70 FORI=1TO16:READA$(I):NEXT
  8. 80 PRINT"[147]":J=0:FORI=1TO144:B$(I)="":NEXT
  9. 90 FORI=1TO9:PRINT"     "A$(I)"[146]":NEXT
  10. 100 PRINT"     "A$(16)"[146]"
  11. 110 GETC$:IFC$=""THEN110
  12. 120 C=VAL(C$):IFC$=CHR$(13)THENC=3:GOTO140
  13. 130 IFC<1ORC>5THEN110
  14. 140 WIDTH=C:WD=WI-1
  15. 150 PRINT"[147]":FORI=1TO6:PRINT"     "A$(I)"[146]":NEXT
  16. 160 FORI=10TO12:PRINT"     "A$(I)"[146]":NEXT:PRINT"     "A$(16)"[146]"
  17. 170 GETD$:IFD$=""THEN170
  18. 180 IFD$="Y"THEN200
  19. 190 IFD$<>"N"THEN170
  20. 200 PRINT"[147]":FORI=1TO6:PRINT"     "A$(I)"[146]":NEXT
  21. 210 FORI=13TO16:PRINT"     "A$(I)"[146]":NEXT
  22. 220 GETQ$:IFQ$>""THEN220
  23. 230 GETQ$:IFQ$=""THEN230
  24. 240 IFQ$="Q"THENCLOSE15:GOTO1030
  25. 250 IFQ$<>"S"ANDQ$<>"U"ANDQ$<>"N"THEN200
  26. 260 PRINT"[147]                                    [146]":Z=-1
  27. 270 GOSUB920
  28. 280 GET#1,A$,B$
  29. 290 GET#1,A$,B$
  30. 300 GET#1,A$,B$
  31. 310 C=0
  32. 320 IFA$<>""THENC=ASC(A$)
  33. 330 IFB$<>""THENC=C+ASC(B$)*256
  34. 340 Z$=MID$(STR$(C),2)
  35. 350 IFLEN(Z$)<1THENZ$="   "
  36. 360 IFLEN(Z$)=1THENZ$="  "+Z$
  37. 370 IFLEN(Z$)=2THENZ$=" "+Z$
  38. 380 B$(J)=" "+Z$+" "+CHR$(34)
  39. 390 LZ=0
  40. 400 GET#1,B$:IFST<>0THENGOTO510
  41. 410 IFB$<>CHR$(34)THEN400
  42. 420 GET#1,B$:IFB$<>CHR$(34)THENB$(J)=B$(J)+B$:LZ=LZ+1:GOTO420
  43. 430 GET#1,B$:IFB$=CHR$(32)THEN430
  44. 440 B$(J)=B$(J)+CHR$(34):IFLZ>15THEN460
  45. 450 FORJZ=LZTO15:B$(J)=B$(J)+" ":NEXTJZ
  46. 460 C$=""
  47. 470 C$=C$+B$:GET#1,B$:IFB$<>""THEN470
  48. 480 SS=ST:B$(J)=B$(J)+LEFT$(C$,3)
  49. 490 PRINT"      "B$(J)"    [146]":J=J+1
  50. 500 IFSS=0THEN290
  51. 510 B$(J)=LEFT$(B$(J),LEN(B$(J))-1)+" BLOCKS FREE "
  52. 520 PRINT"      "B$(J)"            [146]":CLOSE1
  53. 530 IFQ$<>"N"THEN570
  54. 540 GETQ$:IFQ$>""THEN540
  55. 550 GETQ$:IFQ$=""THEN550
  56. 560 RESTORE:CLR:GOTO60
  57. 570 IFQ$="U"THEN680
  58. 580 LB=2
  59. 590 FORII=J-1TOLBSTEP-1
  60. 600 IFMID$(B$(II-1),7,15)<=MID$(B$(II),7,15)THEN650
  61. 610 EX$=B$(II)
  62. 620 B$(II)=B$(II-1)
  63. 630 B$(II-1)=EX$
  64. 640 FX=II
  65. 650 NEXTII
  66. 660 IFLB=FX+1THEN680
  67. 670 LB=FX+1:GOTO590
  68. 680 OPEN4,4:PRINT#4,CHR$(27)CHR$(64)CHR$(27)CHR$(77)CHR$(3)
  69. 690 IFD$="Y"THENPRINT#4,CHR$(27)CHR$(66)CHR$(3)
  70. 700 PRINT#4:REM PRINT THE HEADER
  71. 710 IFWI=1THENPRINT#4,B$(0);TAB(20)"COMMENTS":GOTO760
  72. 720 PRINT#4,B$(0)
  73. 730 REM THE NEXT COMMANDS SENDS CONTROL TO GEMINI 10X
  74. 740 REM THRU CARDCO G+ INTERFACE
  75. 750 REM TO SWITCH TO CONDENSED MODE AND WIDE LINES
  76. 760 IFWI>1THENPRINT#4,CHR$(27)CHR$(66)CHR$(3);:REM CONDENSED MODE FOR >1 COL.
  77. 770 IFWI>1THENPRINT#4,CHR$(27)CHR$(81)CHR$(138);:REM WIDE LINES TO PREVENT CR'S
  78. 780 IFD$="Y"THENPRINT#4,CHR$(27)CHR$(83)CHR$(0)CHR$(27)CHR$(51)CHR$(9)
  79. 790 REM NOW PRINT THE DIRECTORY
  80. 800 RW=INT((J+WD)/WI)
  81. 810 FORI=1TORW:FORW=1TOWI
  82. 820 IF(I+(W-1)*RW)>JTHENPRINT#4,"                             ";:GOTO840
  83. 830 PRINT#4,B$(I+(W-1)*RW);:IFWI=1THENGOSUB1000
  84. 840 NEXTW:PRINT#4
  85. 850 NEXTI
  86. 860 PRINT#4
  87. 870 REM SWITCH PRINTER TO NORMAL
  88. 880 IFWI>1THENPRINT#4,CHR$(27)CHR$(64)   ;:REM POWER-UP CONDITION
  89. 890 IFWI>3THENPRINT#4,CHR$(27)CHR$(81)CHR$(80);:REM BACK TO 80 COLUMN LINE
  90. 900 CLOSE4:CLR
  91. 910 GOTO60
  92. 920 CLOSE15:OPEN15,8,15
  93. 930 OPEN1,8,0,"$0"
  94. 940 INPUT#15,E1,E2$,E3,E4
  95. 950 IFE1>0THENPRINT"[147]            "E2$:CLOSE1:GOTO970
  96. 960 RETURN
  97. 970 GETW$:IFW$>""THEN970
  98. 980 GETW$:IFW$=""THEN980
  99. 990 GOTO930
  100. 1000 U$=CHR$(27)+CHR$(45)+CHR$(1):O$=CHR$(27)+CHR$(45)+CHR$(0)
  101. 1010 PRINT#4,U$;TAB(45);O$;
  102. 1020 RETURN
  103. 1030 PRINT"[147][144]LOAD";CHR$(34);"MENU";CHR$(34);",8"
  104. 1040 A$=CHR$(13)+"RUN"+CHR$(13)
  105. 1050 FORI=1TOLEN(A$):POKE630+I,ASC(MID$(A$,I)):NEXT:POKE198,I-1
  106. 1060 DATA"******************************
  107. 1070 [131]"*                            *
  108. 1080 DATA"*     DIRECTORY PRINTER      *
  109. 1090 [131]"*                            *
  110. 1100 DATA"******************************
  111. 1110 [131]"*                            *
  112. 1120 DATA"* HOW MANY COLUMNS? (1 TO 5) *
  113. 1130 [131]"*   SELECT OR RETURN FOR 3   *
  114. 1140 DATA"*                            *
  115. 1150 [131]"* WOULD YOU LIKE LABEL SIZE? *
  116. 1160 DATA"*           (Y/N)            *
  117. 1170 [131]"*                            *
  118. 1180 DATA"* 'S' SORTED   'U' UNSORTED  *
  119. 1190 [131]"* 'N' NO PRINT 'Q' QUIT      *
  120. 1200 DATA"*                            *
  121. 1210 [131]"******************************
  122.